// noinspection JSUnresolvedReference /** * Field Google Map */ /* global jQuery, document, redux_change, redux, google */ (function ( $ ) { 'use strict'; redux.field_objects = redux.field_objects || {}; redux.field_objects.google_maps = redux.field_objects.google_maps || {}; /* LIBRARY INIT */ redux.field_objects.google_maps.init = function ( selector ) { if ( ! selector ) { selector = $( document ).find( '.redux-group-tab:visible' ).find( '.redux-container-google_maps:visible' ); } $( selector ).each( function ( i ) { let delayRender; const el = $( this ); let parent = el; if ( ! el.hasClass( 'redux-field-container' ) ) { parent = el.parents( '.redux-field-container:first' ); } if ( parent.is( ':hidden' ) ) { return; } if ( parent.hasClass( 'redux-field-init' ) ) { parent.removeClass( 'redux-field-init' ); } else { return; } // Check for delay render, which is useful for calling a map // render after JavaScript load. delayRender = Boolean( el.find( '.redux_framework_google_maps' ).data( 'delay-render' ) ); // API Key button. redux.field_objects.google_maps.clickHandler( el ); // Init our maps. redux.field_objects.google_maps.initMap( el, i, delayRender ); } ); }; /* INIT MAP FUNCTION */ redux.field_objects.google_maps.initMap = async function ( el, idx, delayRender ) { let delayed; let scrollWheel; let streetView; let mapType; let address; let defLat; let defLong; let defaultZoom; let mapOptions; let geocoder; let g_autoComplete; let g_LatLng; let g_map; let noLatLng = false; // Pull the map class. const mapClass = el.find( '.redux_framework_google_maps' ); const containerID = mapClass.attr( 'id' ); const autocomplete = containerID + '_autocomplete'; const canvas = containerID + '_map_canvas'; const canvasId = $( '#' + canvas ); const latitude = containerID + '_latitude'; const longitude = containerID + '_longitude'; // Add map index to data attr. // Why, say we want to use delay_render, // and want to init the map later on. // You'd need the index number in the // event of multiple map instances. // This allows one to retrieve it // later. $( mapClass ).attr( 'data-idx', idx ); if ( true === delayRender ) { return; } // Map has been rendered, no need to process again. if ( $( '#' + containerID ).hasClass( 'rendered' ) ) { return; } // If a map is set to delay render and has been initiated // from another scrip, add the 'render' class so rendering // does not occur. // It messes things up. delayed = Boolean( mapClass.data( 'delay-render' ) ); if ( true === delayed ) { mapClass.addClass( 'rendered' ); } // Create the autocomplete object, restricting the search // to geographical location types. g_autoComplete = await google.maps.importLibrary( 'places' ); g_autoComplete = new google.maps.places.Autocomplete( document.getElementById( autocomplete ), {types: ['geocode']} ); // Data bindings. scrollWheel = Boolean( mapClass.data( 'scroll-wheel' ) ); streetView = Boolean( mapClass.data( 'street-view' ) ); mapType = Boolean( mapClass.data( 'map-type' ) ); address = mapClass.data( 'address' ); address = decodeURIComponent( address ); address = address.trim(); // Set default Lat/lng. defLat = canvasId.data( 'default-lat' ); defLong = canvasId.data( 'default-long' ); defaultZoom = canvasId.data( 'default-zoom' ); // Eval whether to set maps based on lat/lng or address. if ( '' !== address ) { if ( '' === defLat || '' === defLong ) { noLatLng = true; } } else { noLatLng = false; } // Can't have empty values, or the map API will complain. // Set default for the middle of the United States. defLat = defLat ? defLat : 39.11676722061108; defLong = defLong ? defLong : -100.47761000000003; if ( noLatLng ) { // If displaying a map based on an address. geocoder = new google.maps.Geocoder(); // Set up Geocode and pass address. geocoder.geocode( {'address': address}, function ( results, status ) { let latitude; let longitude; // Function results. if ( status === google.maps.GeocoderStatus.OK ) { // A good address was passed. g_LatLng = results[0].geometry.location; // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); // Get and set lat/long data. latitude = el.find( '#' + containerID + '_latitude' ); latitude.val( results[0].geometry.location.lat() ); longitude = el.find( '#' + containerID + '_longitude' ); longitude.val( results[0].geometry.location.lng() ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } else { // No data found, alert the user. alert( 'Geocode was not successful for the following reason: ' + status ); } } ); } else { // If displaying map based on an lat/lng. g_LatLng = new google.maps.LatLng( defLat, defLong ); // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, // Start off far unless an item is selected, set by php. streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create the map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } }; redux.field_objects.google_maps.renderControls = function ( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ) { let markerTooltip; let infoWindow; let g_marker; let geoAlert = mapClass.data( 'geo-alert' ); // Get HTML. const input = document.getElementById( autocomplete ); // Set objects into the map. g_map.controls[google.maps.ControlPosition.TOP_LEFT].push( input ); // Bind objects to the map. g_autoComplete = new google.maps.places.Autocomplete( input ); g_autoComplete.bindTo( 'bounds', g_map ); // Get the marker tooltip data. markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Create infoWindow. infoWindow = new google.maps.InfoWindow(); // Create marker. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), draggable: true, title: markerTooltip, animation: google.maps.Animation.DROP } ); geoAlert = decodeURIComponent( geoAlert ); // Place change. google.maps.event.addListener( g_autoComplete, 'place_changed', function () { let place; let address; let markerTooltip; infoWindow.close(); // Get place data. place = g_autoComplete.getPlace(); // Display alert if something went wrong. if ( ! place.geometry ) { window.alert( geoAlert ); return; } console.log( place.geometry.viewport ); // If the place has a geometry, then present it on a map. if ( place.geometry.viewport ) { g_map.fitBounds( place.geometry.viewport ); } else { g_map.setCenter( place.geometry.location ); g_map.setZoom( 17 ); // Why 17? Because it looks good. } markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Set the marker icon. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), title: markerTooltip, clickable: true, draggable: true, animation: google.maps.Animation.DROP } ); // Set marker position and display. g_marker.setPosition( place.geometry.location ); g_marker.setVisible( true ); // Form array of address components. address = ''; if ( place.address_components ) { address = [( place.address_components[0] && place.address_components[0].short_name || '' ), ( place.address_components[1] && place.address_components[1].short_name || '' ), ( place.address_components[2] && place.address_components[2].short_name || '' )].join( ' ' ); } // Set the default marker info window with address data. infoWindow.setContent( '
' + place.name + '
' + address ); infoWindow.open( g_map, g_marker ); // Run Geolocation. redux.field_objects.google_maps.geoLocate( g_autoComplete ); // Fill in address inputs. redux.field_objects.google_maps.fillInAddress( el, latitude, longitude, g_autoComplete ); } ); // Marker drag. google.maps.event.addListener( g_marker, 'drag', function ( event ) { document.getElementById( latitude ).value = event.latLng.lat(); document.getElementById( longitude ).value = event.latLng.lng(); } ); // End marker drag. google.maps.event.addListener( g_marker, 'dragend', function () { redux_change( el.find( '.redux_framework_google_maps' ) ); } ); // Zoom Changed. g_map.addListener( 'zoom_changed', function () { el.find( '.google_m_zoom_input' ).val( g_map.getZoom() ); } ); // Marker Info Window. infoWindow = new google.maps.InfoWindow(); google.maps.event.addListener( g_marker, 'click', function () { const marker_info = containerID + '_marker_info'; const infoValue = document.getElementById( marker_info ).value; if ( '' !== infoValue ) { infoWindow.setContent( infoValue ); infoWindow.open( g_map, g_marker ); } } ); }; /* FILL IN ADDRESS FUNCTION */ redux.field_objects.google_maps.fillInAddress = function ( el, latitude, longitude, g_autoComplete ) { // Set variables. const containerID = el.find( '.redux_framework_google_maps' ).attr( 'id' ); // What if someone only wants city, or state, ect... // gotta do it this way to check for the address! // Need to check each of the returned components to see what is returned. const componentForm = { street_number: 'short_name', route: 'long_name', locality: 'long_name', administrative_area_level_1: 'short_name', country: 'long_name', postal_code: 'short_name' }; // Get the place details from the autocomplete object. const place = g_autoComplete.getPlace(); let component; let i; let addressType; let _d_addressType; let val; let len; document.getElementById( latitude ).value = place.geometry.location.lat(); document.getElementById( longitude ).value = place.geometry.location.lng(); for ( component in componentForm ) { if ( componentForm.hasOwnProperty( component ) ) { // Push in the dynamic form element ID again. component = containerID + '_' + component; // Assign to proper place. document.getElementById( component ).value = ''; document.getElementById( component ).disabled = false; } } // Get each component of the address from the place details // and fill the corresponding field on the form. len = place.address_components.length; for ( i = 0; i < len; i += 1 ) { addressType = place.address_components[i].types[0]; if ( componentForm[addressType] ) { // Push in the dynamic form element ID again. _d_addressType = containerID + '_' + addressType; // Get the original. val = place.address_components[i][componentForm[addressType]]; // Assign to proper place. document.getElementById( _d_addressType ).value = val; } } }; redux.field_objects.google_maps.geoLocate = function ( g_autoComplete ) { if ( navigator.geolocation ) { navigator.geolocation.getCurrentPosition( function ( position ) { const geolocation = new google.maps.LatLng( position.coords.latitude, position.coords.longitude ); const circle = new google.maps.Circle( { center: geolocation, radius: position.coords.accuracy } ); g_autoComplete.setBounds( circle.getBounds() ); } ); } }; /* API BUTTON CLICK HANDLER */ redux.field_objects.google_maps.clickHandler = function ( el ) { // Find the API Key button and react on click. el.find( '.google_m_api_key_button' ).on( 'click', function () { // Find message wrapper. const wrapper = el.find( '.google_m_api_key_wrapper' ); if ( wrapper.is( ':visible' ) ) { // If the wrapper is visible, close it. wrapper.slideUp( 'fast', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } else { // If the wrapper is visible, open it. wrapper.slideDown( 'medium', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } } ); el.find( '.google_m_autocomplete' ).on( 'keypress', function ( e ) { if ( 13 === e.keyCode ) { e.preventDefault(); } } ); // Auto select autocomplete contents, // since Google doesn't do this inherently. el.find( '.google_m_autocomplete' ).on( 'click', function ( e ) { $( this ).trigger( 'focus' ); $( this ).trigger( 'select' ); e.preventDefault(); } ); }; } )( jQuery ); Experience the Thrill of Britain Bet: Play Top Casino Games in English, Tailored for UK Players – Orchid Group
Warning: Undefined variable $encoded_url in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Deprecated: base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Experience the Thrill of Britain Bet: Play Top Casino Games in English, Tailored for UK Players

Experience the Thrill of Britain Bet: Play Top Casino Games in English, Tailored for UK Players

Unleashing the Excitement of Britain Bet: A Guide to Top Casino Games for UK Players

Unleashing the Excitement of Britain Bet: A Guide to Top Casino Games for UK Players
Britain Bet is the ultimate destination for UK players looking to experience the thrill of online casino gaming.
From classic table games like Blackjack and Roulette to the latest video slots, Britain Bet has it all.
Our platform is designed with the British player in mind, offering a wide range of games that are both familiar and new.
Experience the excitement of live dealer games, where you can interact with professional dealers and other players in real-time.
Join Britain Bet today and take advantage of our generous welcome bonuses and promotions, specifically tailored for UK players.
Unleash the excitement of Britain Bet and discover a world of top casino games at your fingertips.

Experience Authentic UK Gaming with Britain Bet’s Top Casino Offerings

Immerse yourself in the thrill of authentic UK gaming with Britain Bet. Discover a wide range of top-tier casino offerings that cater to your every need. Experience the excitement of classic table games, such as Blackjack and Roulette, with live dealers for an added layer of realism. Spin the reels of popular slot games, featuring beloved British themes and characters. With mobile compatibility, you can take the action with you wherever you go. Join now and take advantage of exclusive bonuses and promotions for an unforgettable gaming experience. Britain Bet is your premier destination for authentic UK gaming.

Britain Bet: Your Ultimate Destination for Premier Casino Games in England

Welcome to Britain Bet, the ultimate destination for premier casino games in England.
Experience the thrill of authentic casino gaming with our wide selection of games.
From classic table games like Blackjack and Roulette, to the latest video slots, we have it all.
Our platform is designed with the UK market in mind, ensuring a seamless and enjoyable experience for all players.
Our commitment to fair play and security means you can focus on enjoying the games.
Join Britain Bet today and discover why we are the top choice for casino enthusiasts in the United Kingdom.
Start playing and winning with Britain Bet, the premier online casino in England.

Get Ready for a Thrilling Ride with Britain Bet’s Top Casino Games

Get ready for a thrilling ride with Britain Bet ‘s top-notch casino games! Our platform is designed to provide an immersive and exciting gaming experience for players in the United Kingdom. From classic table games like blackjack and roulette, to the latest video slots, we have something for everyone. Our games are powered by leading software providers, ensuring smooth gameplay and high-quality graphics. Plus, with our generous bonuses and promotions, there’s always a reason to come back and play. So why wait? Join Britain Bet today and get ready for the ride of your life!

Experience the Thrill of Britain Bet: Play Top Casino Games in English, Tailored for UK Players

Discover the Best of British Casino Games with Britain Bet

Discover the Best of British Casino Games with Britain Bet!
1. Experience the thrill of classic British games, such as Roulette and Blackjack, at your fingertips.
2. Try your luck with Britain Bet’s wide variety of exciting slot games, all with a distinctly British twist.
3. Our platform is designed with the UK player in mind, ensuring a seamless and enjoyable experience.
4. With Britain Bet, you can rest assured that you’re playing with a reputable and trustworthy casino provider.
5. Our user-friendly interface and 24/7 customer support make us the go-to choice for British casino enthusiasts.
6. Join the ranks of satisfied customers who have discovered the best of British casino games with Britain Bet.
7. Sign up today and take advantage of our exclusive bonuses and promotions for UK players!

Experience the Thrill of Britain Bet: Play Top Casino Games in English, Tailored for UK Players

Elevate Your Gaming Experience with Britain Bet’s Top Casino Offerings for UK Players

Elevate your gaming experience with Britain Bet, the premier online casino for UK players. Our top-notch casino offerings are designed to provide hours of entertainment and excitement.
First, try your hand at our wide variety of slot games, featuring the latest titles and progressive jackpots.
For table game enthusiasts, we offer classic games like blackjack, roulette, and baccarat, all with realistic graphics and smooth gameplay.
In addition, our live casino section allows you to interact with real dealers and other players, creating an authentic casino atmosphere from the comfort of your own home.
And with our mobile casino, you can take your gaming on the go and never miss a beat.
At Britain Bet, we are committed to providing a safe and secure gaming environment, with strict privacy policies and reliable payment options.
So why wait? Sign up today and elevate your gaming experience with Britain Bet’s top casino offerings for UK players.

Experience the Thrill of Britain Bet: Play Top Casino Games in English, Tailored for UK Players. I recently tried out Britain Bet and I was thoroughly impressed. The site is easy to navigate, with a clean and modern design. I particularly enjoyed the wide selection of casino games, including all of my favorites like blackjack and roulette. The fact that the site is tailored for UK players was also a big plus for me, as I found the English language interface to be very user-friendly. I highly recommend giving Britain Bet a try if you’re looking for a top-notch online casino experience.

I’m a bit of a casino connoisseur, so I was excited to give Britain Bet a try. I have to say, I was not disappointed. The site is easy to use and has a great selection of games. I especially enjoyed the live dealer options, which really added to the overall experience. The fact that the site is tailored for UK players is also a nice touch. I will definitely be coming back to Britain Bet for more casino action in the future.

As a long-time fan of online casinos, I was eager to see what Britain Bet had to offer. I was pleased to find a wide variety of games, including many that I had never tried before. The site is easy to use and the English language interface is a nice touch. I also appreciate that the site is tailored for UK players, as it made for a more enjoyable experience overall. I would definitely recommend Britain Bet to anyone looking for a great online casino.

I recently tried out Britain Bet and I have to say, I was a bit underwhelmed. The site is easy to use and has a decent selection of games, but it didn’t really stand out to me in any particular way. I also didn’t find the fact that the site is tailored for UK players to be all that notable. Overall, I would say that Britain Bet is a fine option for online casino gaming, but it didn’t blow me away.

I decided to give Britain Bet a try after hearing good things about it from some friends. I have to say, I was a bit disappointed. The site is easy to use and has a decent selection of games, but it didn’t really offer anything that I couldn’t find at other online casinos. The fact that the site is tailored for UK players was also not a big selling point for me. In the end, I would say that Britain Bet is a decent option, but it didn’t live up to the hype for me.

Want to know more about Britain Bet? Here are some frequently asked questions:
1. What is Britain Bet? It’s a top online casino experience tailored specifically for UK players.
2. Can I play my favorite casino games on Britain Bet? Yes, you can find a wide variety of popular games.
3. Is my personal information safe on Britain Bet? Absolutely, the site uses state-of-the-art security measures.
4. How can I get started on Britain Bet? Simply sign up for an account and start playing today!

Design and Develop by Ovatheme